1. Field of the Invention
The present invention is related to an information processing apparatus provided with an optimized executable instruction extracting unit for extending a compressed instruction into the corresponding executable instructions in accordance with the instruction code of a target executable program.
2. Description of the Related Art
In the field of control systems with embedded microcomputers, the size of instruction code in the memory of a processor can influence the production cost of the entire system. A smaller size of instruction code in the memory has an advantage in costs. The technique of compressing the executable instructions and extending the compressed instructions is one for techniques of reducing the size of instruction code in the memory.
In the case of the executable instructions, each instruction as pointed by an address register and fetched from the memory is latched by an instruction register and transferred to an instruction decoding unit through a multiplexer in order to decode the executable instructions.
On the other hand, in the case of the compressed instructions, each instruction as pointed by the address register and fetched from the memory is extended into the corresponding executable instructions and then transferred to the instruction decoding unit through the multiplexer in order to decode the executable instructions.
In accordance with xe2x80x9cIntel Architecture Optimization Manualxe2x80x9d, 1997, Intel Corporation, a xe2x80x9cmacro-instructionxe2x80x9d stored in the instruction memory of the processor as discussed therein is generally extended into a plurality of corresponding xe2x80x9cmicro-opsxe2x80x9d. Furthermore, in accordance with xe2x80x9cTMS320C3x User""s Guidexe2x80x9d, 1997, TEXAS INSTRUMENTS, two instructions of xe2x80x9cMPYI3xe2x80x9d and xe2x80x9cADDIY3xe2x80x9d for example are compressed as a compressed instruction xe2x80x9cMPYI3| |ADDIY3xe2x80x9d by imposing restrictions upon the usage such as the restrictions upon the usage the range of the register number available within the register field in the instruction format.
Such a compressed instruction of this kind is generated by compressing an instruction sequence which frequently occurs in the instruction codes of many application programs. However, in the actual case, there are a variety of application programs. Namely, while the compressed instruction set as defined by one processor is effective for a specific type of application program, it frequently becomes ineffective for another type of application program.
In order to improve the shortcomings, it has been contemplated to change the processor for the respective application program under question in order to make use of the compressed instruction set as optimized for the application program. However, it is ineffective to use different processors for different application programs. This is because the programmers are requested to understand the basic architecture of the processor and the software development environment each time as a new processor is employed. On the other hand, it is frequently the case that there is no processor available supporting the compressed instructions which a user desires. This is because many processors are designed in order to support the compressed instructions suitable for major application programs of which a substantial output of copies are expected.
As explained above, in the case of the prior art information processing apparatuses, the compressed instruction set is fixedly defined for each system. For this reason, while the compressed instruction set as defined in the system is effective for a specific type of application program, it becomes ineffective for another type of application program. In this case, there is the disadvantage that the use of compressed instructions can no longer improve the performance of the system.
It is an object of the present invention to provide an information processing apparatus having a compact storage region required of an executable program with a reduced number of instructions constituting the executable program.
Particularly, the information processing apparatus in accordance with the present invention is characterized by provision of a executable instruction extracting unit for extending a compressed instruction into a plurality of corresponding executable instructions, and a reconfiguration unit for reconfiguring and optimizing the executable instruction extracting unit suitable for the executable program.
In accordance with the present invention, the executable instruction extracting unit is reconfigured for the respective target program so that the number of the constituent instructions can be suppressed, resulting in compaction of the storage region for storing the target program.